package com.wondertek.poms.search;

import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import com.wondertek.oes.sso.client.EnableMySsoClient;
import com.wondertek.oes.sso.client.store.ehcache.DefaultEhcacheStore;
import com.wondertek.oes.sso.common.contants.enums.SsoClientTypeEnum;
import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableRabbit
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
@EnableAsync
@EnableDiscoveryClient
@EnableMySsoClient(clientType = SsoClientTypeEnum.SimpleClient, cacheStore = DefaultEhcacheStore.class) //SSO接入
@EnableApolloConfig
@EnableFeignClients(basePackages = {"com.wondertek.poms.*"})
@EnableConfigurationProperties
public class PomsSearchApplication {

    public static void main(String[] args) {
        SpringApplication.run(PomsSearchApplication.class, args);
    }
}
